后台回复“面试” “资料” 领取一份干货,数百整理的大厂技术面试手册等你 开发者技术前线 ,汇集技术前线快讯和关注行业趋势,大厂干货,是开发者经历和成长的优秀指南。
微信支付的跨平台架构到底有多牛?
GitHub 太狠了!不断封禁开源项目,连自家的都不放过
由 Python 开发的几款顶级 App
2020年必学的 10 大算法
一款牛逼的Java工具类库,GitHub星标10.4k+,你敢用吗?
译者:方应杭,作者:Eduards Sizovs
来自:https://zhuanlan.zhihu.com/p/52814937
原文:https://sizovs.net/2018/12/17/stop-learning-frameworks/
每过几年都有类似的文章出现,然而程序员却依然疲于学习新的框架,看完此文希望对你有所启示。
有人说:当初刚从Android转前端的时候,一点基础也不会,什么html什么css,完全不懂,上手就是angular1.0,学的很痛苦,很难受,后续半年先后接触了vue和react,emmm没错,我就是框架仔。后来跳槽,我的上司告诉我,不要用框架,全部使用原生,这才让我真正感觉踏入了前端的领域。给我的实际经验就是,你从框架中学习基础,效率非常之低,当你脱离了双向绑定,脱离了全家桶,你会发现,离开框架你什么也不会。
所以就像题主说的一样,框架只是工具,我们只需要拿来用,但是真正需要学习的,是底层的原理,以及脱离框架后类似功能的实现方法。
程序员修炼之道 The Pragmatic Programmer
代码整洁之道 Clean Code
程序员的职业素养 The Clean Code
领域驱动设计和实践 Domain-Driven Design
测试驱动的面向对象软件开发 Growing Object-Oriented Software, Guided by Tests
持续交付 Continuous Delivery
用的编程语言虽然不一样,但是设计方法是类似的。
用的框架虽然是不一样的,但是设计模式是类似的。
参与的开发者是不一样的,但是如何和这些人打交道是不变的。
不要学习微服务框架,学习演进式架构(Evolutionary Architecture)。
不要学习新的编程语言,学习代码整洁之道、设计模式、领域驱动设计(DDD)。
不要学习 LeSS 和规模化敏捷框架(SAFe),学习精益生产原则(Lean manufacturing principles)。
不要学习 Hystrix,学习容错模式(Fault Tolerance Patterns)。
不要学习 Docker,学成持续交付。
不要学习 Angular、React 和 Vue,学习 Web、HTTP 和 REST。
看来我们达成了共识——学习基础常常意味着深挖某个框架、库或者工具。框架和基础都要学习,但是优先级必须是基础高于框架。
知乎用户
一年前我觉得可能从框架(或类似东西)的代码中学习基础也很有效(我很难静下心来读理论书,因为我在不使用这些基础知识的时候根本不知道他们有什么用,很枯燥)。而通过读前人的代码先了解了大多数基础知识(这往往很不全面),这时再看基础的书,就能找到共鸣了
“我司连续走了三名前端 都是只会用vue的 react上手上不上去 最后走的俩个前端 总会问我一些抛开框架的基础问题 而实际他们使用框架非常糟糕 我想说 我也就看了半个月react 相关的一些文档去面试 俩天看了公司使用的脚手架及其相关工具 一共八个文档 。用的时候,根本不需要太熟练,不会就看文档,基础好,学得就是快,有些人确实会用,但是真的会用吗?基础差的,一旦某些脚手架出现一些涉及看封装源码的,就懵逼了。最后jrg牛逼。”
后台回复“面试” “资料” 领取一份干货,数百整理的大厂技术面试手册等你 开发者技术前线 ,汇集技术前线快讯和关注行业趋势,大厂干货,是开发者经历和成长的优秀指南。